<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // forEach  取代for循环   --- 单纯的遍历数组

        // map

        var arr = [1,2,3] ;

        // 1 把数组中的值都加了3
        // var arr2 = arr.map((v , i , arr) => {
        //     return v + 3
        // }) ;

        // 箭头函数的简写
        // var arr2 = arr.map(v => v + 3);
        // console.log(arr2);



        // 2 
        var str = 'username=yy&password=123&phone=188888' ;
        // [
        //     {
        //         name : 'username' ,
        //         content : 'yy'
        //     },
        //     {
        //         name : 'password' ,
        //         content : '123'
        //     },
        //     {
        //         name : 'phone' ,
        //         content : '188888'
        //     }
        // ]

        var arr = str.split('&') ;
        console.log(arr);  //  ['username=yy', 'password=123', 'phone=188888']

        // 改变数组中的值
        var arr2 = arr.map( v => {
            // 想要得到对象 ， 声明对象
            var obj = {} ;
            // 把数组中的值v 按照等号进行切割
            var arr3 = v.split('=') ;
            obj.name = arr3[0] ;
            obj.content = arr3[1] ;
            return obj 
        })

        console.log(arr2);



        var arr = [1,6,4,9] ;

        // var res = arr.filter(v => {
        //     return v > 3
        // })

        var res = arr.filter( v => v > 3) ;  // [6,4,9]



        var arr = [
            {
                title : '小米11111' ,
                des : '真好用啊' ,
            },
            {
                title : '小米2222' ,
                des : '真好用啊' ,
            },
            {
                title : '小米111133' ,
                des : '真好用啊' ,
            },
            {
                title : '小米444' ,
                des : '真好用啊' ,
            }
        ]


        // 找到1相关的数据  --- 过滤数据 filter

        var res = arr.filter(v => v.title.includes('1')) ;
        console.log(res);



        var arr = [1,2,3] ;
        // 求和
        var res = arr.reduce((prev , v , i , arr) => {
            return prev + v ;
        })

        console.log(res);


        var arr = [
            '新闻1',
            '新闻2',
            '新闻3'
        ] ;

        // var html = '' ;
        // arr.forEach( v => {
        //     html += `<li>${v}</li>`
        // })

        // reduce(cb , [init初始值])   
        //    初始值如果没写，就是数组的第一个值，然后遍历后面的所有值
        //       html = '新闻1'
        //       for(var i = 1 ; i < arr.length ; i++) {
        //          html += <li>${arr[i]}</li>
        //       }

        
        //    如果写了初始值，就是遍历整个数组 
        //       html = ''
        //       for(var i = 0 ; i < arr.length ; i++) {
        //          html += <li>${arr[i]}</li>
        //       }    
        var html = arr.reduce((prev , v) => {
            return prev + `<li>${v}</li>`
        } , '') ;
        console.log(html);


    </script>
    
</body>
</html>